/*jshint esversion: 9 */
/*
    页面滚动工具，一篇文字
*/
//从开始的位置移动到结束的位置（，固定时间匀速）
function startRollToEnd(end=0,time = 100){
    let timer;
    //获取当前毫秒数
    let startTime = +new Date();
    let start = document.documentElement.scrollTop || document.body.scrollTop;  //初始位置  
    //获取从开始到结束需要滚动的长度
    let lengthY = start - end;
    timer = requestAnimationFrame(function func(){
        //获取下一帧的时间距离开始的时间，以此计算此时的位置，如果超过了预计的时间，则就等于参数所规定的时间
        let timeX = time - Math.max(0,startTime - (+new Date()) + time);
        document.documentElement.scrollTop = document.body.scrollTop = timeX * (-lengthY) / time + start;
        timer = requestAnimationFrame(func);
        //如果距离开始时间已经到了规定的时间则不用在执行了
        if(timeX == time){
            cancelAnimationFrame(timer);
        }
    });
}

export {
    startRollToEnd,
};